Systems and methods for forecasting power generated by variable power generation assets

ABSTRACT

A variable power generation asset may be subject to ramp events, which are large variations in power generated by the variable power generation asset within a short period of time. A variable power generation forecast system may receive or generate benchmark power forecasts and generated power measurements. Ramp predictors are based on the benchmark power forecasts and the generated power measurements. The variable power generation forecast system utilizes a feedback error correction model that predicts forecast errors for the benchmark power forecasts at various look-ahead times. The variable power generation forecast system applies sets of decision trees to the ramp predictors and last known forecast errors of the benchmark power forecasts to obtain the predicted forecast errors. The variable power generation forecast systems uses the predicted forecast errors and the benchmark power forecasts to generate more accurate power forecasts at the various look-ahead times.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Application No. 63/269,541, filed on Mar. 17, 2022 and entitled “SHORT-TERM WIND POWER FORECASTS USING RAMP PREDICTION” and to U.S. Provisional Patent Application No. 63/488,629, filed on Mar. 6, 2023 and entitled “IMPROVED SHORT-TERM WIND POWER FORECASTS: LOW-LATENCY FEEDBACK ERROR CORRECTION USING RAMP PREDICTION AND DATA FROM NEARBY FARMS,” and is related to co-pending application U.S. patent application Ser. No. ______, filed on the same day and entitled “SYSTEMS AND METHODS FOR RAMP PREDICTIONS FOR FORECASTING POWER USING NEIGHBORING SITES,” each of which is incorporated in its entirety herein by reference.

FIELD OF THE INVENTIONS

Embodiments of the present invention(s) are generally related to forecasting power generated by variable power generation assets such as wind turbines and solar power farms, and in particular to forecasting power generated by the variable power generation assets using ramp predictors.

BACKGROUND

The variable and uncertain nature of power generation by variable power generation assets such as wind turbines and solar power farms places a premium on the accuracy of power generation forecasts. Greater forecast accuracy enables an operator of variable power generation assets to enhance market efficiency and improve the operational reliability of the power system.

Further, balancing authorities, responsible for maintaining the balance between load and generation within their territory, may impose imbalance penalties on the operators of variable power generation assets if their output varies too much from their forecast. Accurate wind power forecasts reduce or eliminate the imbalance penalties that asset operators must pay.

SUMMARY

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium including executable instructions, the executable instructions being executable by one or more processors to perform a method, the method including: receiving first power forecasts for a set of look-ahead times for one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in power generated by the variable power generation asset within a short period of time; receiving generated power measurements for the one or more variable power generation assets, the generated power measurements including a reference generated power measurement and one or more generated power measurements prior to the reference generated power measurement; generating ramp predictors for the set of look-ahead times, a ramp predictor including a set of values, a value obtained by subtracting the reference generated power measurement from one of the one or more generated power measurements prior to the reference generated power measurement or by subtracting the reference generated power measurement from a first power forecast for a look-ahead time of the set of look-ahead times; receiving power forecast errors for the one or more variable power generation assets; applying sets of decision trees to the ramp predictors and the power forecast errors to obtain predicted forecast errors; and generating second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors.

In various embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein generating second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors includes adding the first power forecasts and the predicted forecast errors to obtain the second power forecasts.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein a set of values for a ramp predictor for a look-ahead time of the set of look-ahead times that is prior to or at a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from the one or more generated power measurements prior to the reference generated power measurement and values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the set of look-ahead times.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein a set of values for a ramp predictor for a look-ahead time of the set of look-ahead times that is after a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the set of look-ahead times.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium, the method further including: receiving weather forecast data for a geographic area that includes the one or more variable power generation assets; and applying a machine learning forecast model to the generated power measurements and the weather forecast data to obtain a first subset of the first power forecasts for a first subset of the set of look-ahead times that are prior to or at a threshold look-ahead time.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium, the method further including applying the machine learning forecast model to the weather forecast data to obtain a second subset of the first power forecasts for a second subset of the set of look-ahead times that are after a threshold look-ahead time.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium, the method further including: receiving weather forecast data for a geographic area that includes the one or more variable power generation assets; and applying at a first time a machine learning forecast model to the generated power measurements and the weather forecast data to obtain the first power forecasts for the set of look-ahead times, wherein the reference generated power measurement is a power measurement for the one or more variable power generation assets measured at a time generally at or just prior to the first time.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein a size of the set of values for the ramp predictor for a particular look-ahead time of the set of look-ahead times is based on the particular look-ahead time.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium, the method further including: receiving a power forecast data set; generating a ramp predictor data set based on the power forecast data set; generating a forecast error data set based on the power forecast data set; and training the sets of decision trees on the power forecast data set, the ramp predictor data set, and the forecast error data set.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein the second power forecasts have an average normalized mean-absolute error (nMAE) for the set of look-ahead times that is lower than an average nMAE for the set of look-ahead times that the first power forecasts have.

In some embodiments, the techniques described herein relate to a method including: receiving first power forecasts for a set of look-ahead times for one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in power generated by the variable power generation asset within a short period of time; receiving generated power measurements for the one or more variable power generation assets, the generated power measurements including a reference generated power measurement and one or more generated power measurements prior to the reference generated power measurement; generating ramp predictors for the set of look-ahead times, a ramp predictor including a set of values, a value obtained by subtracting the reference generated power measurement from one of the one or more generated power measurements prior to the reference generated power measurement or by subtracting the reference generated power measurement from a first power forecast for a look-ahead time of the set of look-ahead times; receiving power forecast errors for the one or more variable power generation assets; applying sets of decision trees to the ramp predictors and the power forecast errors to obtain predicted forecast errors; and generating second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors.

In some embodiments, the techniques described herein relate to a method wherein generating second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors includes adding the first power forecasts and the predicted forecast errors to obtain the second power forecasts.

In some embodiments, the techniques described herein relate to a method wherein a set of values for a ramp predictor for a look-ahead time of the set of look-ahead times that is prior to or at a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from the one or more generated power measurements prior to the reference generated power measurement and values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the set of look-ahead times.

In some embodiments, the techniques described herein relate to a method wherein a set of values for a ramp predictor for a look-ahead time of the set of look-ahead times that is after a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the set of look-ahead times.

In some embodiments, the techniques described herein relate to a method, further including: receiving weather forecast data for a geographic area that includes the one or more variable power generation assets; and applying a machine learning forecast model to the generated power measurements and the weather forecast data to obtain a first subset of the first power forecasts for a first subset of the set of look-ahead times that are prior to or at a threshold look-ahead time.

In some embodiments, the techniques described herein relate to a method, further including applying the machine learning forecast model to the weather forecast data to obtain a second subset of the first power forecasts for a second subset of the set of look-ahead times that are after a threshold look-ahead time.

In some embodiments, the techniques described herein relate to a method, further including: receiving weather forecast data for a geographic area that includes the one or more variable power generation assets; and applying at a first time a machine learning forecast model to the generated power measurements and the weather forecast data to obtain the first power forecasts for the set of look-ahead times, wherein the reference generated power measurement is a power measurement for the one or more variable power generation assets measured at a time generally at or just prior to the first time.

In some embodiments, the techniques described herein relate to a method wherein a size of the set of values for the ramp predictor for a particular look-ahead time of the set of look-ahead times is based on the particular look-ahead time.

In some embodiments, the techniques described herein relate to a method, further including: receiving a power forecast data set; generating a ramp predictor data set based on the power forecast data set; generating a forecast error data set based on the power forecast data set; and training the sets of decision trees on the power forecast data set, the ramp predictor data set, and the forecast error data set.

In some embodiments, the techniques described herein relate to a system including at least one processor and memory containing instructions, the instructions being executable by the at least one processor to: receive first power forecasts for a set of look-ahead times for one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in power generated by the variable power generation asset within a short period of time; receive generated power measurements for the one or more variable power generation assets, the generated power measurements including a reference generated power measurement and one or more generated power measurements prior to the reference generated power measurement; generate ramp predictors for the set of look-ahead times, a ramp predictor including a set of values, a value obtained by subtracting the reference generated power measurement from one of the one or more generated power measurements prior to the reference generated power measurement or by subtracting the reference generated power measurement from a first power forecast for a look-ahead time of the set of look-ahead times; receive power forecast errors for the one or more variable power generation assets; apply sets of decision trees to the ramp predictors and the power forecast errors to obtain predicted forecast errors; and generate second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium including executable instructions, the executable instructions being executable by one or more processors to perform a method, the method including: receiving first weather forecast data for a geographic area, the geographic area including one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in the power generated by the one or more variable power generation assets within a short period of time; receiving first generated power measurements for the one or more variable power generation assets, the first generated power measurements including a first reference generated power measurement and one or more first generated power measurements prior to the first reference generated power measurement; applying a machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts for a first set of look-ahead times for the one or more variable power generation assets; receiving second weather forecast data for the geographic area; receiving second generated power measurements for the one or more variable power generation assets, the second generated power measurements including a second reference generated power measurement and one or more second generated power measurements prior to the second reference generated power measurement; generating first ramp predictors for a second set of look-ahead times, a first ramp predictor including a set of values, a value obtained by subtracting the second reference generated power measurement from one of the one or more second generated power measurements prior to the second reference generated power measurement or by subtracting the second reference generated power measurement from a first power forecast for a look-ahead time of the first set of look-ahead times; and applying the machine learning forecast model to the second weather forecast data, the second generated power measurements, and the first ramp predictors to obtain second power forecasts for a second set of look-ahead times for the one or more variable power generation assets.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium, the method further including: receiving third weather forecast data for the geographic area; receiving third generated power measurements for the one or more variable power generation assets, the third generated power measurements including a third reference generated power measurement and one or more third generated power measurements prior to the third reference generated power measurement; generating second ramp predictors for a third set of look-ahead times, a second ramp predictor including a set of values, a value obtained by subtracting the third reference generated power measurement from one of the one or more third generated power measurements prior to the third reference generated power measurement or by subtracting the third reference generated power measurement from a second power forecast for a look-ahead time of the second set of look-ahead times; and applying the machine learning forecast model to the third weather forecast data, the third generated power measurements, and the second ramp predictors to obtain third power forecasts for a third set of look-ahead times for the one or more variable power generation assets.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein a set of values for a first ramp predictor for a look-ahead time of the first set of look-ahead times that is prior to or at a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from the one or more generated power measurements prior to the reference generated power measurement and values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the first set of look-ahead times.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein a set of values for a first ramp predictor for a look-ahead time of the first set of look-ahead times that is after a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the first set of look-ahead times.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts includes applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain a first subset of the first power forecasts for a first subset of the first set of look-ahead times that are prior to or at a threshold look-ahead time.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts includes applying the machine learning forecast model to the first weather forecast data to obtain a second subset of the first power forecasts for a second subset of the first set of look-ahead times that are after a threshold look-ahead time.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain the first power forecasts for the first set of look-ahead times for the one or more variable power generation assets includes applying at a first time the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain the first power forecasts for the first set of look-ahead times for the one or more variable power generation assets, and where the reference generated power measurement is a power measurement for the one or more variable power generation assets measured at a time generally at or just prior to the first time.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium wherein a size of the set of values for the first ramp predictor for a particular look-ahead time of the first set of look-ahead times is based on the particular look-ahead time.

In some embodiments, the techniques described herein relate to a non-transitory computer-readable medium, the method further including: receiving a training data set, the training data set including historical data from the one or more variable power generation assets; training a precursor machine learning forecast model on the training data set; receiving a power forecast data set from the precursor machine learning forecast model; generating a ramp predictor data set based on the power forecast data set; and training the machine learning forecast model on the training data set and the ramp predictor data set.

In some embodiments, the techniques described herein relate to a method including: receiving first weather forecast data for a geographic area, the geographic area including one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in the power generated by the one or more variable power generation assets within a short period of time; receiving first generated power measurements for the one or more variable power generation assets, the first generated power measurements including a first reference generated power measurement and one or more first generated power measurements prior to the first reference generated power measurement; applying a machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts for a first set of look-ahead times for the one or more variable power generation assets; receiving second weather forecast data for the geographic area; receiving second generated power measurements for the one or more variable power generation assets, the second generated power measurements including a second reference generated power measurement and one or more second generated power measurements prior to the second reference generated power measurement; generating first ramp predictors for a second set of look-ahead times, a first ramp predictor including a set of values, a value obtained by subtracting the second reference generated power measurement from one of the one or more second generated power measurements prior to the second reference generated power measurement or by subtracting the second reference generated power measurement from a first power forecast for a look-ahead time of the first set of look-ahead times; and applying the machine learning forecast model to the second weather forecast data, the second generated power measurements, and the first ramp predictors to obtain second power forecasts for a second set of look-ahead times for the one or more variable power generation assets.

In some embodiments, the techniques described herein relate to a method, further including: receiving third weather forecast data for the geographic area; receiving third generated power measurements for the one or more variable power generation assets, the third generated power measurements including a third reference generated power measurement and one or more third generated power measurements prior to the third reference generated power measurement; generating second ramp predictors for a third set of look-ahead times, a second ramp predictor including a set of values, a value obtained by subtracting the third reference generated power measurement from one of the one or more third generated power measurements prior to the third reference generated power measurement or by subtracting the third reference generated power measurement from a second power forecast for a look-ahead time of the second set of look-ahead times; and applying the machine learning forecast model to the third weather forecast data, the third generated power measurements, and the second ramp predictors to obtain third power forecasts for a third set of look-ahead times for the one or more variable power generation assets.

In some embodiments, the techniques described herein relate to a method wherein a set of values for a first ramp predictor for a look-ahead time of the first set of look-ahead times that is prior to or at a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from the one or more generated power measurements prior to the reference generated power measurement and values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the first set of look-ahead times.

In some embodiments, the techniques described herein relate to a method wherein a set of values for a first ramp predictor for a look-ahead time of the first set of look-ahead times that is after a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the first set of look-ahead times.

In some embodiments, the techniques described herein relate to a method wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts includes applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain a first subset of the first power forecasts for a first subset of the first set of look-ahead times that are prior to or at a threshold look-ahead time.

In some embodiments, the techniques described herein relate to a method wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts includes applying the machine learning forecast model to the first weather forecast data to obtain a second subset of the first power forecasts for a second subset of the first set of look-ahead times that are after a threshold look-ahead time.

In some embodiments, the techniques described herein relate to a method wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain the first power forecasts for the first set of look-ahead times for the one or more variable power generation assets includes applying at a first time the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain the first power forecasts for the first set of look-ahead times for the one or more variable power generation assets, and where the reference generated power measurement is a power measurement for the one or more variable power generation assets measured at a time generally at or just prior to the first time.

In some embodiments, the techniques described herein relate to a method wherein a size of the set of values for the first ramp predictor for a particular look-ahead time of the first set of look-ahead times is based on the particular look-ahead time.

In some embodiments, the techniques described herein relate to a method, further including: receiving a training data set, the training data set including historical data from the one or more variable power generation assets; training a precursor machine learning forecast model on the training data set; receiving a power forecast data set from the precursor machine learning forecast model; generating a ramp predictor data set based on the power forecast data set; and training the machine learning forecast model on the training data set and the ramp predictor data set.

In some embodiments, the techniques described herein relate to a system including at least one processor and memory containing instructions, the instructions being executable by the at least one processor to: receive first weather forecast data for a geographic area, the geographic area including one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in the power generated by the one or more variable power generation assets within a short period of time; receive first generated power measurements for the one or more variable power generation assets, the first generated power measurements including a first reference generated power measurement and one or more first generated power measurements prior to the first reference generated power measurement; apply a machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts for a first set of look-ahead times for the one or more variable power generation assets; receive second weather forecast data for the geographic area; receive second generated power measurements for the one or more variable power generation assets, the second generated power measurements including a second reference generated power measurement and one or more second generated power measurements prior to the second reference generated power measurement; generate first ramp predictors for a second set of look-ahead times, a first ramp predictor including a set of values, a value obtained by subtracting the second reference generated power measurement from one of the one or more second generated power measurements prior to the second reference generated power measurement or by subtracting the second reference generated power measurement from a first power forecast for a look-ahead time of the first set of look-ahead times; and apply the machine learning forecast model to the second weather forecast data, the second generated power measurements, and the first ramp predictors to obtain second power forecasts for a second set of look-ahead times for the one or more variable power generation assets.

In some embodiments, the techniques described herein relate to a system, the instructions being further executable by the at least one processor to: receive third weather forecast data for the geographic area; receive third generated power measurements for the one or more variable power generation assets, the third generated power measurements including a third reference generated power measurement and one or more third generated power measurements prior to the third reference generated power measurement; generate second ramp predictors for a third set of look-ahead times, a second ramp predictor including a set of values, a value obtained by subtracting the third reference generated power measurement from one of the one or more third generated power measurements prior to the third reference generated power measurement or by subtracting the third reference generated power measurement from a second power forecast for a look-ahead time of the second set of look-ahead times; and apply the machine learning forecast model to the third weather forecast data, the third generated power measurements, and the second ramp predictors to obtain third power forecasts for a third set of look-ahead times for the one or more variable power generation assets.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an example variable power generation forecast environment in some embodiments.

FIG. 2 depicts a block diagram of a variable power generation forecast system in some embodiments.

FIG. 3 depicts a process for online forecasting using an accuracy booster model and a process for offline training of the accuracy booster model in some embodiments.

FIG. 4 depicts a graph illustrating how a ramp predictor may be generated for one or more variable power generation assets in some embodiments.

FIG. 5 depicts a table with time windows for ramp predictors for different look-ahead times in some embodiments.

FIG. 6A and FIG. 6B depict graphs illustrating relative improvement in normalized mean-absolute-error for multiple variable power generation assets from using ramp predictors and final forecast accuracy for the multiple variable power generation assets from using ramp predictors in some embodiments.

FIG. 7 depicts a graph illustrating normalized mean-absolute-errors for a forecast without ramp predictors and for a forecast with ramp predictors in some embodiments.

FIG. 8 depicts graphs illustrating relative improvement in normalized mean-absolute-error for multiple ramp event conditions in some embodiments.

FIG. 9 depicts a process for online forecasting using a machine learning forecast model and processes for offline training of the machine learning forecast model in some embodiments.

FIG. 10 depicts a block diagram of an example digital device in some embodiments.

Throughout the drawings, like reference numerals will be understood to refer to like parts, components, and structures.

DETAILED DESCRIPTION

Variable power generation assets such as wind turbines or solar power farms, may be subject to ramp events. For a wind turbine, a ramp event is a large variation in wind power output that is observed at the wind turbine, at multiple wind turbines, or at a wind farm or wind farms within a short period of time (for example, up to a few hours). A ramp event may occur when the wind speed and/or direction is rapidly changing. For a solar power farm, a ramp event may be a large variation in solar power output that is observed at one or more solar panels or at the solar panel farm within a short period of time (for example, up to a few hours). A ramp event may occur when cloud cover is intermittent and rapidly changing. A ramp event may be characterized by its magnitude and duration. Ramp events may result in large errors in power forecasts for the variable power generation assets.

In some embodiments, the variable power generation forecast systems described herein use ramp predictors to improve the accuracy of benchmark power forecasts for the variable power generation assets. The variable power generation forecast systems may obtain or generate benchmark power forecasts for variable power generation assets. The variable power generation forecast systems may generate ramp predictors using the benchmark wind power forecasts and optionally, generated power measurements from the variable power generation assets. In some embodiments, the variable power generation forecast system utilizes a feedback error correction model that predicts forecast errors for the benchmark power forecasts at various look-ahead times based on the ramp predictors and last known forecast errors of the benchmark power forecasts. The variable power generation forecast systems may use the predicted forecast errors and the benchmark power forecasts to generate power forecasts at the various look-ahead times that are more accurate than the benchmark power forecasts.

The benchmark power forecasts for the variable power generation assets may be generated by models, such as physical models and data-driven models. Physical models typically use weather forecast data, such as numerical weather prediction (NWP) data, for forecasting power generation for look-ahead times ranging from several hours up to six days. Data-driven models can be divided into statistical and machine learning models. Statistical models include, for example, auto-regressive integrated moving average, auto-regressive moving average, coupled auto-regressive and dynamic system, and Markov models. Machine learning models, for example, include support vector machine, feed-forward neural networks, recurrent neural networks such as long short-term memory networks and decision trees such as eXtreme gradient boosting (XGBoost). Data-driven models may use weather forecast data, generated power measurement data, and/or other asset data or metadata from the variable power generation for forecasting power generation for look-ahead times ranging from several minutes up to several hours. In various embodiments, the variable power generation forecast systems described herein may provide the ramp predictors as input to models, such as physical models and/or data-driven models, which generate benchmark power forecasts for use in generating more accurate power forecasts.

Generating more accurate power forecasts has many advantages. For example, more accurate power forecasts may provide significant monetary benefits for both power system operators and operators of variable power generation assets. The benefits may depend on the market structure and the operational practice. The cost savings from improved forecasts may be higher for power systems with high penetration of renewable energy sources, but some savings may further depend on the mix of conventional generation resources. For example, cost savings may be greater in a coal-dominated system than in a natural gas-dominated system because of the savings from high startup and shutdown costs. As another example, more accurate power forecasts may provide reliability benefits due to improved certainty about the amount of power that variable power generation assets will generate.

FIG. 1 depicts an example variable power generation forecast environment 100 in some embodiments. The variable power generation forecast environment 100 includes an electrical network 102, a variable power generation forecast system 104, a power system 106, a weather service system 118, and an operations system 120 in communication over a communication network 108. The electrical network 102 may include any number of the transmission lines 110, the variable power generation assets 112, the substations 114, and the transformers 116. The electrical network 102 may include any number of electrical assets including protective assets (for example, relays or other circuits to protect one or more assets), transmission assets (for example, lines, or devices for delivering or receiving power), and/or loads (for example, residential houses, commercial businesses, and/or the like).

Components of the electrical network 102 such as the transmission lines 110, the variable power generation assets 112, the substations 114, and/or the transformers 116 may inject energy or power (or assist in the injection of energy or power) into the electrical network 102. Each component of the electrical network 102 may be represented by any number of nodes in a network representation of the electrical network. The variable power generation assets 112 may be or include solar panels, wind turbines, and/or any other power generation device or system that produces power on an intermittent or variable basis, such as tidal power generators and wave power generators. The electrical network 102 may include a wide electrical network grid (for example, with 40,000 assets or more). Each electrical asset of the electrical network 102 may represent one or more elements of their respective assets. For example, the transformers 116, as shown in FIG. 1 may represent any number of transformers which make up electrical network 102.

The variable power generation forecast system 104 may be or include any number of digital devices configured to forecast power generated by the variable power generation assets 112. Digital devices are discussed, for example, with reference to FIG. 10 . In some embodiments, the variable power generation forecast system 104 may receive measurement data, such as sensor data from any number of sensors of any number of electrical assets, event data, and production data of the variable power generation assets 112. Measurement data may include generated power measurements for one or more of the variable power generation assets 112 and may also include measurements from specialized instruments. For example, measurements for wind power forecasting might include wind speed and direction at various heights above ground, from which model of turbine operation might infer available power. Measurements for solar power forecasting might include ground-based sky observations. The time series of such measurements may be analyzed by statistical methods to produce a short-term forecast based on the likely persistence of trends evident at the time of forecast

The variable power generation forecast system 104 may also receive weather forecast data from the weather service system 118, such as numerical weather prediction (NWP) data from NWP models. NWP models may provide estimates of the time-evolution of weather variables for longer-term forecasts. NWP models may be compute-intensive and cover large geographic areas and therefore may be run by national authorities (for example, the U.S. National Weather Service) at regular intervals a few times a day. As discussed herein, the computed weather variables from one or more of these regional weather models may become input data for a trained machine learning forecast model that forecasts power generated by the variable power generation assets 112.

The variable power generation forecast system 104 may process the measurement data and the weather forecast data to produce power forecasts for the variable power generation assets 112. The variable power generation forecast system 104 may employ statistical models which leverage both the short-term persistence of past measurements as well as data from longer-term weather prediction. Such statistical models include machine learning models such as neural networks. The accuracy of short-term forecasts (minutes to a few hours) may be dependent on measurement data. As the forecast look-ahead time is made longer, forecast accuracy may be increasingly determined by NWP data. In some embodiments, tor forecasts beyond some threshold look-ahead time, the variable power generation forecast system 104 does not utilize measurement data.

The power system 106 may be or include any number of digital devices configured to control distribution and/or transmission of energy. The power system 106 may, in various examples, be controlled by a power company, utility, and/or the like.

The weather service system 118 may be or include any number of digital devices configured to provide weather forecast data, such as numerical weather prediction (NWP) data. The weather service system 118 may, in various examples, be controlled by government agencies (for example, the U.S. National Weather Service) or by commercial organizations (for example, Spire or Tomorrow.io).

The operations system 120 may be or include any number of digital devices configured to operate and/or monitor the variable power generation assets 112. The operations system 120 may receive notifications including power forecasts from the variable power generation forecast system 104. The operations system 120 may then provide such information to the power system 106 and/or other systems that utilize power forecasts for the variable power generation assets 112. The operations system may, in various examples, be controlled by an operator of the variable power generation assets 112.

In some embodiments, the communication network 108 represents one or more computer networks (for example, LAN, WAN, and/or the like). The communication network 108 may provide communication between any of the variable power generation forecast system 104, the power system 106, the weather service system 118, the operations system 120, and/or the electrical network 102. In some implementations, communication network 108 comprises computer devices, routers, cables, and/or other network topologies. In some embodiments, the communication network 108 may be wired and/or wireless. In various embodiments, the communication network 108 may comprise the Internet, one or more networks that may be public, private, IP-based, non-IP based, and so forth.

FIG. 2 depicts a block diagram of the variable power generation forecast system 104 in some embodiments. The variable power generation forecast system 104 includes a communication module 202, a data set generation module 204, a ramp predictor generation module 206, a training and curation module 208, a power forecasting module 210, a forecast error calculation module 212, a forecast error prediction module 214, a notification module 216, and a data storage 220.

The communication module 202 may send and/or receive requests and/or data between the variable power generation forecast system 104 and any of the power system 106, the operations system 120 and the electrical network 102. The communication module 202 may receive requests and/or data from the power system 106, the weather service system 118, the operations system 120 and/or the electrical network 102. The communication module 202 may also send requests and/or data to the power system 106, the weather service system 118, the operations system 120 and/or the electrical network 102.

The data set generation module 204 may generate various data sets for use in training machine learning forecast models and/or accuracy booster models.

The ramp predictor generation module 206 may generate ramp predictors for a set of look-ahead times. The ramp predictor generation module 206 may generate one ramp predictor for each look-ahead time of the set of look-ahead times.

The training and curation module 208 may train artificial intelligence and/or machine learning systems (for example, neural networks, multiple sets of decision trees) to be applied to various types of data (for example, power measurement data, weather forecast data, ramp predictors, last known forecast errors) to generate forecasts and/or predictions (for example, power forecasts, power forecast errors).

The power forecasting module 210 may apply artificial intelligence and/or machine learning systems to various types of data (for example, power measurement data, weather forecast data, ramp predictors, last known forecast errors) to generate forecasts and/or predictions (for example, power forecasts, power forecast errors).

The forecast error calculation module 212 may calculate forecast errors in power forecasts generated by the power forecasting module 210.

The forecast error prediction module 214 may apply artificial intelligence and/or machine learning systems to data, such as ramp predictors and forecast errors, to generate predicted forecast errors in power forecasts.

The notification module 216 may generate and provide notifications that include power forecasts generated by the power forecasting module 210. The notification module 216 may provide reports, alerts, and/or dashboards that include results, confidence scores, and/or other information.

The data storage 220 may include data stored, accessed, and/or modified by any of the modules of the variable power generation forecast system 104, such as the machine learning forecast models and the accuracy booster models described herein. The data storage 220 may include any number of data storage structures such as tables, databases, lists, and/or the like.

A module may be hardware, software, firmware, or any combination. For example, each module may include functions performed by dedicated hardware (for example, an Application-Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or the like), software, instructions maintained in ROM, and/or any combination. Software may be executed by one or more processors. Although a limited number of modules are depicted in FIG. 2 , there may be any number of modules. Further, individual modules may perform any number of functions, including functions of multiple modules as shown herein.

FIG. 3 depicts a method 300 for online forecasting using trained accuracy booster models and a method 350 for offline training of the accuracy booster models in some embodiments. The variable power generation forecast system 104 performs the method 300. The method 300 for online forecasting using the trained accuracy booster models begins at a block 302 where the power forecasting module 210 receives data, which includes generated power measurements for one or more of the variable power generation assets 112 and weather forecast data (for example, Numerical Weather Prediction (NWP) data) for a geographic area that includes the one or more of the variable power generation assets 112. The data may also include additional data and/or metadata for the one or more of the variable power generation assets 112 (for example, wind turbine capacity rating). The generated power measurements may include a last generated power measurement that may have been measured generally at or just prior to a time the power forecasting module 210 generates power forecasts. The generated power measurements may also include one or more generated power measurements prior to the last generated power measurement. The last generated power measurement is referred to herein as a reference generated power measurement.

Also at the block 302, the power forecasting module 210 applies a trained machine learning forecast model to all or a portion of the received data to obtain first power forecasts for a set of look-ahead times for the one or more variable power generation assets. The set of look-ahead times may include look-ahead times from approximately 10 minutes from a time of forecast to approximately six hours from the time of forecast. There may be look-ahead times within the set of look-ahead times every period of time (for example, every 10 minutes) or the period of time may vary (for example, may change from every 10 minutes to every 30 minutes). For example, the set of look-ahead times may include look-ahead times every 10 minutes from the time of forecast to six hours from the time of forecast. In some embodiments, a look-ahead time may occur every first period of time for a first subset of the set of look-ahead times and every second period of time for a second subset of the set of look-ahead times. For example, the set of look-ahead times may include look-ahead times every 10 minutes from the time of forecast up to three hours and 30 minutes from the time of forecast, and every 30 minutes from four hours from the time of forecast to six hours from the time of forecast. It will be appreciated that the set of look-ahead times may include any number of look-ahead times within a future period of time following the time of forecast.

In some embodiments, the power forecasting module 210 may apply the trained machine learning forecast model to the generated power measurements and the weather forecast data to obtain a first subset of the first power forecasts for a first subset of the set of look-ahead times that are prior to or at a threshold look-ahead time. In such embodiments the power forecasting module 210 may apply the trained machine learning forecast model to the weather forecast data, and not the generated power measurements, to obtain a second subset of the first power forecasts for a second subset of the set of look-ahead times that are after the threshold look-ahead time. For example, the power forecasting module 210 may apply the trained machine learning forecast model to the generated power measurements and the weather forecast data to obtain the first subset of the first set of power forecasts for look-ahead times that are from approximately 10 minutes, inclusive, to a threshold look-ahead time of approximately three hours and 30 minutes, inclusive. Furthermore, the power forecasting module 210 may apply the trained machine learning forecast model to the weather forecast data, and not the generated power measurements, to obtain the second subset of the first power forecasts for look-ahead times that are after the threshold look-ahead time of approximately three hours and 30 minutes to six hours, inclusive. The use of only weather forecast data for look-ahead times after approximately three hours and 30 minutes may result in a reduction in accuracy of the first power forecasts but also requires fewer computational resources to train the machine learning forecast model and to apply the trained machine learning forecast model.

At a block 304, the forecast error calculation module 212 calculates power forecast errors based on the previously generated power measurements and the previous power forecasts. The forecast error calculation module 212 calculates power forecast errors by subtracting previously generated power measurements from previous power forecasts. The forecast error calculation module 212 calculates a power forecast error P_(k,l) ^(e) for a particular look-ahead time l at timestamp k by subtracting the generated power measurement P_(k) ^(m) from the power forecast P_(k,l) ^(f) as shown by the following equation:

P _(k,l) ^(e) =P _(k,l) ^(f) −P _(k) ^(m)  (1)

The forecast error calculation module 212 provides the power forecast errors to the forecast error prediction module 214 at block 308, described in more detail herein.

Also at block 304, the power forecasting module 210 provides the first power forecasts to block 310 (described in more detail herein) and to the ramp predictor generation module 206 at block 306. At block 306, the ramp predictor generation module 206 generates ramp predictors for the set of look-ahead times. The ramp predictor generation module 206 generates one ramp predictor for each look-ahead time of the set of look-ahead times. A ramp predictor includes a set of values. The ramp predictor generation module 206 obtains each value by subtracting the reference generated power measurement from one of the one or more generated power measurements prior to the reference generated power measurement or by subtracting the reference generated power measurement from a first power forecast for a look-ahead time of the set of look-ahead times.

FIG. 4 depicts a graph 400 illustrating how the ramp predictor generation module 206 may generate ramp predictors in some embodiments. The graph 400 has an x-axis 402 for time in minutes from a time of forecast at time 0 and a y-axis 404 for normalized available power. The graph 400 displays multiple points, which are either generated power measurements (for times prior to or at the time of forecast) or first power forecasts (for times after the time of forecast). Point 406 is P_(k,0), which is the reference generated power measurement. Point 408 is P_(k,30), which is the first power forecast for 30 minutes from the time of forecast. The difference in normalized available power between point 406 and point 408 is ΔP_(k,30). The ramp predictor generation module 206 may use normalized available power measurements or absolute available power measurements in generating the ramp predictors.

The ramp predictor generation module 206 generates a ramp predictor R_(k,l) for a particular look-ahead time l at timestamp k using the first power forecasts, and the generated power measurements for certain look-ahead times, over a time window, as shown by the following:

R _(k,l) =[ΔP _(k,1) , . . . ΔP _(k,f) , . . . ΔP _(k,F)]  (2)

In (2), ΔP_(k,f) is the power difference between either a first power forecast or a generated power measurement at time index, f, in the time window with the reference measured power P_(k,0) at the current timestamp k, given by:

ΔP _(k,f) =P _(k,f) −P _(k,0)  (3)

The time window brackets the particular look-ahead time, and the start and stop times for the time window depend on the particular look-ahead time. In other words, the ramp predictor generation module 206 will calculate ΔP_(k,1) using either a generated power measurement or a first power forecast for a time prior to the look-ahead time l, and will calculate ΔP_(k,F) using a first power forecast for a look-ahead time subsequent to the look-ahead time l. The size of the set of values for the ramp predictor for a particular look-ahead time of the set of look-ahead times is based on the particular look-ahead time. In other words, the number of values in the ramp predictor depends on the particular look-ahead time.

FIG. 5 depicts a table 500 with time windows for ramp predictors for different look-ahead times in some embodiments. For the look-ahead time l=10 (10 minutes from the current timestamp k), the start of the time window is −30 minutes. Therefore, the ramp predictor generation module 206 will obtain the first value in the ramp predictor for l=10 by subtracting the reference power measurement at k from the generated power measurement at k−30. The end of the time window is two hours and 10 minutes, which is two hours ahead of the particular look ahead-time l=10. Therefore, the ramp predictor generation module 206 will obtain the last value in the ramp predictor for the particular look-ahead time l=10 by subtracting the reference power measurement at k from the first power forecast for k+120. The ramp predictor generation module 206 may generate ramp predictors for other look-ahead times in the table 500 according to the starts of the time window and the ends of the time windows as listed in the table 500.

In some embodiments, the power forecasting module 210 generates first power forecasts for look-ahead times at 10 minute intervals from a look-ahead time of 10 minutes to a look-ahead time of six hours. In some embodiments, the power forecasting module 210 utilizes a first interval duration for look-ahead times that are prior to or at a certain threshold, and a second interval duration for look-ahead times that are after the certain threshold. For example, the power forecasting module 210 may generate a first subset of the first power forecasts for look-ahead times at 10 minute intervals from a look-ahead time of 10 minutes to a look-ahead time of three hours and 30 minutes. Furthermore, the power forecasting module 210 may generate a second subset of the first power forecasts for look-ahead times at 30 minute intervals for look-ahead times that are after three hours and 30 minutes, such as at four hours, four hours 30 minutes, and so on, up to six hours. In some embodiments, the power forecasting module 210 may vary the interval duration depending on a range of look-ahead times.

The time windows in the table 500 are examples of a particular start and a particular end of a particular time window for a particular look-ahead time. In some embodiments, the variable power generation forecast system 104 may utilize different starts and ends of a time window for a look-ahead time, depending upon, for example, the machine learning forecast model that the variable power generation forecast system 104 utilizes, the geographic area that the variable power generation assets 112 are located in, attributes of the variable power generation assets 112, such as capacity, and other factors.

Returning to FIG. 3 , at the block 308, the forecast error prediction module 214 receives the power forecast errors that the forecast error calculation module 212 calculated at the block 304 and the ramp predictors that the ramp predictor generation module 206 generated at the block 306. The forecast error prediction module 214 applies the trained accuracy booster models to the ramp predictors and the power forecast errors to obtain predicted forecast errors. In some embodiments, each of the trained accuracy booster models is a set of trained decision trees. The training of the decision trees is discussed with reference to, for example, the method 350.

At a block 310, the power forecasting module 210 generates second power forecasts for the set of look-ahead times based on the first power forecasts and the predicted forecast errors. In some embodiments, the power forecasting module 210 adds the power forecasts and the predicted forecast errors to obtain the second power forecasts for the set of look-ahead times. That is, to obtain a second power forecast P_(k,l) ^(i) for a look-ahead time l at timestamp k the power forecasting module 210 adds the predicted forecast error {circumflex over (P)}_(k,l) ^(e) to the first power forecast P_(k,l) ^(f) according to the following equation:

P _(k,l) ^(i) =p _(k,l) ^(f) +{circumflex over (P)} _(k,l) ^(e)  (4)

After generating the second power forecasts, the notification module 216 may generate notifications including the second power forecasts, and the communication module 202 may provide the second power forecasts to the operations system 120 for display, further processing, and/or analysis. Additionally or alternatively, the communication module 202 may provide the second power forecasts to the power system 106 so that the power system 106 may use the second power forecasts in balancing load and generation.

The variable power generation forecast system 104 may perform the method 300 periodically, such as every 10 minutes, to generate the second power forecasts for the one or more of the variable power generation assets 112. One advantage of the method 300 is that the method 300 utilizes low-latency generated power measurements from various sensors at the variable power generation assets 112. The low-latency of this data allows the variable power generation forecast system 104 to generate the ramp predictors and last known forecast errors for use in predicting forecast errors on the same period as that of generating the first power forecasts. Accordingly, the variable power generation forecast system 104 may generate the second power forecasts generally at or just after the same time as generating the first power forecasts. As discussed herein with reference to, for example FIGS. 6-8 , the low-latency of this data also allows the variable power generation forecast system 104 to improve the accuracy of generated power forecasts.

FIG. 3 also depicts the method 350 for offline training of the accuracy booster models. The variable power generation forecast system 104 performs the method 350. The method 350 begins at a block 352 where the training and curation module 208 receives a training data set for use in training a machine learning forecast model that forecasts power generated by the variable power generation assets 112. The training data set may include historical power measurements of power generated by the variable power generation assets 112, metadata for the variable power generation assets 112 (for example, wind turbine capacity rating), and/or historical weather data. The communication module 202 may have previously received data in the training data set and stored the training data set in the data storage 220. The training and curation module 208 may receive the training data set from the data storage 220. The training and curation module 208 uses the training data set to train the machine learning forecast model.

In various embodiments, the machine learning forecast model may be or include one or more various machine learning and/or artificial intelligence (AI) architectures, such as support vector machines, feed-forward neural networks, recurrent neural networks such as long short-term memory networks, decision trees, and/or the like. In various embodiments, in addition to or as an alternative to a machine learning forecast model, one or more statistical models may be utilized (for example, auto-regressive integrated moving average, auto-regressive moving average, coupled auto-regressive and dynamic systems, and Markov models).

At a block 354, the data set generation module 204 generates a power forecast data set. The data set generation module 204 may use the trained machine learning forecast model to generate the power forecast data set. The power forecast data set may be for a historical period of time (for example, one year) for which actual power measurements of the variable power generation assets 112 are available. Also at the block 354 the data set generation module 204 generates a power forecast error data set. The data set generation module 204 may generate the power forecast error data set based on the power forecast data set and actual power measurements. For example, the data set generation module 204 may subtract the actual power measurements from the power forecasts (or vice-versa) to obtain their differences, which are the power forecast errors. The data set generation module 204 may use the power forecast errors to generate the power forecast error data set.

At a block 356 the data set generation module 204 generates a ramp predictor data set. The data set generation module 204 may generate the ramp predictor data set based on the power forecast data set and the actual power measurements. The ramp predictor data set may be for a historical period of time (for example, one year). The ramp predictor data set may include multiple ramp predictors that the ramp predictor generation module 206 generated as described herein with respect to, for example, the method 300.

At a block 358, the training and curation module 208 trains the accuracy booster models. In some embodiments, the each of the accuracy booster models is a set of decision trees. In some embodiments, the training and curation module 208 utilizes a Python XGBoost library to train the decision trees. In some embodiments, the training and curation module 208 generates a set of decision trees for each look-ahead time. The following table displays the hyper-parameters and their values that the training and curation module 208 uses to train each set of decision trees:

Hyperparameter Value n estimators 1000 max depth 5 learning rate 0.01 subsample 1 colsample_bytree 0.8

In various embodiments, one or more machine learning and/or artificial intelligence (AI) architectures may be utilized (for example, support vector machines, feed-forward neural networks, recurrent neural networks such as long short-term memory networks, and/or the like) in addition to or as an alternative to the sets of decision trees discussed herein. In various embodiments, one or more statistical models may be utilized (for example, auto-regressive integrated moving average, auto-regressive moving average, coupled auto-regressive and dynamic systems, and Markov models) in addition to or as an alternative to the sets of decision trees discussed herein. The one or more machine learning and/or AI architectures and/or statistical models may utilize the features discussed herein to generate forecast models and/or make forecasts.

FIG. 6A depicts a graph 600 illustrating relative improvement in normalized mean-absolute-error for multiple variable power generation assets from using ramp predictors in some embodiments. FIG. 6B depicts a graph 650 illustrating final forecast accuracy for the multiple variable power generation assets from using ramp predictors in some embodiments. The graph 600 shows the relative improvement in normalized mean-absolute-error (nMAE) for look-ahead times from 10 minutes to six hours for each of 17 groups of variable power generation assets. The graph 650 shows the final forecast accuracy, in terms of forecast accuracy minus nMAE, for the 17 groups of variable power generation assets. In this example, the 17 groups of variable power generation asset are 17 wind farms in northern Europe, each wind farm including one or more wind turbines. A dataset that included actual wind power time-series and meteorological data such as wind speed for the period of one year for the 17 wind farms was used to train the accuracy booster models. The relative decrease in nMAE, averaged over all look-ahead times and all 17 wind farms, is 3.61%, and the overall accuracy is 6.6% nMAE. Accordingly, power forecasts generated using ramp predictors have lower nMAE than power forecasts generated without using ramp predictors. A large component in this improvement is observed for look-ahead models for three hours 30 minutes and longer, such as out to at least 6 hours. These longer look-ahead times are from machine learning forecast models that rely solely on weather forecast data, such as Numerical Weather Prediction (NWP) data and may be less accurate than machine learning forecast models for shorter look-ahead times which include measurement data in addition to weather forecast data. Implementation of the ramp predictors in the variable power generation forecast system 104 may correct errors of the NWP-based forecast models, which results in a large improvement in the forecast accuracy at three hours 30 minutes and longer.

In some embodiments, using a dataset for a historical period longer than one year may result in a larger relative improvement in nMAE. For example, using a dataset for a two-year period may result in a relative improvement in nMAE, averaged over all look-ahead times and all 17 wind farms, of 4.03%. In some embodiments, using a dataset for a historical period shorter than one year may result in a smaller relative improvement in nMAE. For example, using a dataset for a six-month period may result in a relative improvement in nMAE, averaged over all look-ahead times and all 17 wind farms, of 2.53%.

FIG. 7 depicts a graph 700 illustrating normalized mean-absolute-errors (nMAE) for a forecast without ramp predictors and for a forecast with ramp predictors in some embodiments. The nMAE of the forecast without ramp predictors increases smoothly and gradually as the look-ahead time increases to three hours and 30 minutes, with a steeper increase in nMAE with the switch to the weather forecast only (for example, NWP only) machine learning forecast model for longer look-ahead times. In contrast, the forecast with ramp predictors shows very little increase in nMAE that can be attributed to the transition to the weather forecast only (for example, NWP only) machine learning forecast model. Accordingly, the use of ramp predictors can reduce an increase in nMAE for longer look-ahead times.

FIG. 8 depicts a graph 800, a graph 820, and a graph 840 illustrating relative improvement in normalized mean-absolute-error (nMAE) for multiple ramp event conditions in some embodiments. The graph 800 illustrates relative improvement in nMAE for no ramp events. The graph 820 illustrates relative improvement in nMAE for a ramp up event. The graph 840 illustrates relative improvement in nMAE for a ramp down event. As can be seen in each of the graph 800, the graph 820, and the graph 840, implementing ramp predictors produces an overall positive effect on forecast accuracy during all ramp conditions. During the no-ramp event conditions (graph 800), a significant relative improvement in nMAE is observed for look-ahead times above three hours and 30 minutes. In this case, an advantage of the ramp predictor is in the fact that it contains the last known measurement data at the wind farm's site. This allows the machine learning forecast model to calibrate the forecasts from the weather forecast only (for example, NWP only) machine learning forecast models to the actual production levels of the wind farm, thus considerably reducing the error of the forecasts of the weather forecast only (for example, NWP only) machine learning forecast models.

The applied methodology also allowed an improvement in nMAE during ramp-up conditions (graph 820), especially for shorter look-ahead times. This may be a result of the ramp predictor allowing the model to better recognize the potential future variations of power production and thus improve forecast accuracy. The improvements during ramp-down events (graph 840) are overall smaller, with a slight decrease in nMAE for very short look-ahead times (10 and 20 minutes ahead). These results indicate that the ramp predictor could provide more valuable information to detect ramp-up events than ramp-down events.

FIG. 9 depicts a method 900 for online forecasting using a trained machine learning forecast model, a method 920 for offline training of the machine learning forecast model without ramp predictors, and a method 940 for offline training of the machine learning forecast model with ramp predictors in some embodiments. The variable power generation forecast system 104 performs the method 900. The method 900 begins at a block 902 where the power forecasting module 210 receives first data, which includes first generated power measurements for the one or more of the variable power generation assets 112 and first weather forecast data for a geographic area that includes the one or more of the variable power generation assets 112 (for example, Numerical Weather Prediction (NWP) data), and which may include additional first data and/or first metadata for the one or more of the variable power generation assets 112 (for example, wind turbine capacity rating). The first generated power measurements may include a first reference generated power measurement that may have been measured generally at or just prior to a time the power forecasting module 210 generates power forecasts, and one or more first generated power measurements prior to the reference generated power measurement.

Also at the block 902, the power forecasting module 210 applies at a first time a trained machine learning forecast model to all or a portion of the received first data to obtain first power forecasts for a first set of look-ahead times for one or more variable power generation assets. Like the method 300 of FIG. 3 , the first set of look-ahead times may include look-ahead times from approximately 10 minutes from a time of forecast to approximately six hours from the time of forecast. There may be look-ahead times within the set of look-ahead times every period of time (for example, every 10 minutes) or the period of time may vary (for example, may change from every 10 minutes to every 30 minutes). Those of skill in the art will understand that the set of look-ahead times may include any number of look-ahead times within a future period of time following the time of forecast.

At a block 904 the ramp predictor generation module 206 generates first ramp predictors for a second set of look-ahead times using the first power forecasts and second generated power measurements for one or more of the variable power generation assets 112. The ramp predictor generation module 206 may generate the first ramp predictors as described with reference to, for example, block 306 of FIG. 3 and FIGS. 4 and 5 . The ramp predictor generation module 206 has to generate the first ramp predictors using the first power forecasts, which are lagged forecasts (for example, by 10 minutes), because the first ramp predictors will be used to generate second power forecasts.

The method 300 continues at the block 902 where the power forecasting module 210 receives second data, which includes the second generated power measurements, second weather forecast data for the geographic area, and the first ramp predictors, and which may include additional second data and/or second metadata for the one or more of the variable power generation assets 112 (for example, wind turbine capacity rating). The second data may also include first forecast errors for the first power forecasts that are calculated based on the first generated power measurements and the first power forecasts. The power forecasting module 210 applies at a second time, which is subsequent to the first time, the trained machine learning forecast model to all or a portion of the received second data to obtain second power forecasts for a second set of look-ahead times for the one or more of the variable power generation assets 112.

The variable power generation forecast system 104 may perform the method 900 periodically, such as every 10 minutes, to generate power forecasts for the one or more of the variable power generation assets 112. One advantage of the method 900 is that the method 900 utilizes low-latency generated power measurements from various sensors at the variable power generation assets 112. The low latency of this data allows the variable power generation forecast system 104 to generate the ramp predictors for use in generating power forecasts. Although the variable power generation forecast system 104 uses lagged power forecasts (for example, lagged by 10 minutes) to generate the ramp predictors, the lagged power forecasts are sufficiently close in time to subsequent power forecasts that the ramp predictors provide measurable improvements to the accuracy of the subsequent power forecasts.

FIG. 9 also depicts the method 920 for offline training of the machine learning forecast model without ramp predictors. The variable power generation forecast system 104 performs the method 920. The method 920 begins at a block 922 where the training and curation module 208 receives a training data set for use in training a precursor machine learning forecast model. The training data set may be the same as or generally similar to the training data set described with respect to the block 352 of FIG. 3 . The training and curation module 208 uses the training data set to train the precursor machine learning forecast model. Also at the block 922, the data set generation module 204 generates a power forecast data set. The data set generation module 204 may use the precursor machine learning forecast model to generate the power forecast data set. The power forecast data set may be the same as or generally similar to the power forecast data set described with respect to the block 354 of FIG. 3 . At a block 924 the data set generation module 204 generates a ramp predictor data set. The ramp predictor data set may be the same as or generally similar to the ramp predictor data set described with respect to the block 356 of FIG. 3 .

FIG. 9 also depicts the method 940 for offline training of the machine learning forecast model with the ramp predictor data set generated in the method 920. The variable power generation forecast system 104 performs the method 940. The process begins at a block 942 where the training and curation module 208 receives the training data set received in the block 922 of the method 920 and the ramp predictor data set generated in the block 924 of the method 920. The training and curation module 208 uses the training data set and the ramp predictor data set to train a machine learning forecast model. After the machine learning forecast model has been trained, the power forecasting module 210 may utilize the machine learning forecast model to generate power forecasts in the method 900 of FIG. 9 .

FIG. 10 depicts a block diagram of an example digital device 1000 according to some embodiments. The digital device 1000 is shown in the form of a general-purpose computing device. The digital device 1000 includes at least one processor 1002, RAM 1004, communication interface 1006, input/output device 1008, storage 1010, and a system bus 1012 that couples various system components including storage 1010 to the at least one processor 1002. A system, such as a computing system, may be or include one or more of the digital device 1000.

System bus 1012 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.

The digital device 1000 typically includes a variety of computer system readable media, such as computer system readable storage media. Such media may be any available media that is accessible by any of the systems described herein and it includes both volatile and nonvolatile media, removable and non-removable media.

In some embodiments, the at least one processor 1002 is configured to execute executable instructions (for example, programs). In some embodiments, the at least one processor 1002 comprises circuitry or any processor capable of processing the executable instructions.

In some embodiments, RAM 1004 stores programs and/or data. In various embodiments, working data is stored within RAM 1004. The data within RAM 1004 may be cleared or ultimately transferred to storage 1010, such as prior to reset and/or powering down the digital device 1000.

In some embodiments, the digital device 1000 is coupled to a network via communication interface 1006. Still yet, the electrical network 102, the variable power generation forecast system 104, the power system 106 and/or the operations system 120 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (for example, the Internet).

In some embodiments, input/output device 1008 is any device that inputs data (for example, mouse, keyboard, stylus, sensors, etc.) or outputs data (for example, speaker, display, virtual reality headset).

In some embodiments, storage 1010 can include computer system readable media in the form of non-volatile memory, such as read only memory (ROM), programmable read only memory (PROM), solid-state drives (SSD), flash memory, and/or cache memory. Storage 1010 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage 1010 can be provided for reading from and writing to a non-removable, non-volatile magnetic media. The storage 1010 may include a non-transitory computer-readable medium, or multiple non-transitory computer-readable media, which stores programs or applications for performing functions such as those described herein with reference to, for example, FIG. 2 . Although not shown, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (for example, a “floppy disk”), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CDROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to system bus 1012 by one or more data media interfaces. As will be further depicted and described below, storage 1010 may include at least one program product having a set (for example, at least one) of program modules that are configured to carry out the functions of embodiments of the invention. In some embodiments, RAM 1004 is found within storage 1010.

Programs/utilities, having a set (at least one) of program modules, such as the variable power generation forecast system 104, may be stored in storage 1010 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules generally carry out the functions and/or methodologies of embodiments of the invention as described herein.

It should be understood that although not shown, other hardware and/or software components could be used in conjunction with the digital device 1000. Examples include, but are not limited to microcode, device drivers, redundant processing units, and external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc.

Exemplary embodiments are described herein in detail with reference to the accompanying drawings. However, the present disclosure can be implemented in various manners, and thus should not be construed to be limited to the embodiments disclosed herein. On the contrary, those embodiments are provided for the thorough and complete understanding of the present disclosure, and completely conveying the scope of the present disclosure to those skilled in the art.

As will be appreciated, aspects of one or more embodiments may be embodied as a system, method or computer program product. Accordingly, aspects may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a solid state drive (SSD), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program or data for use by or in connection with an instruction execution system, apparatus, or device.

A transitory computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.

Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, Smalltalk, C++, Python, or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer program code may execute entirely on any of the systems described herein or on any combination of the systems described herein.

Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general-purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

While specific examples are described above for illustrative purposes, various equivalent modifications are possible, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative implementations may perform routines having steps, or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed or implemented concurrently or in parallel or may be performed at different times. Further any specific numbers noted herein are only examples: alternative implementations may employ differing values or ranges.

Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein. Furthermore, any specific numbers noted herein are only examples: alternative implementations may employ differing values or ranges.

Components may be described or illustrated as contained within or connected with other components. Such descriptions or illustrations are examples only, and other configurations may achieve the same or similar functionality. Components may be described or illustrated as “coupled”, “couplable”, “operably coupled”, “communicably coupled” and the like to other components. Such description or illustration should be understood as indicating that such components may cooperate or interact with each other, and may be in direct or indirect physical, electrical, or communicative contact with each other.

Components may be described or illustrated as “configured to”, “adapted to”, “operative to”, “configurable to”, “adaptable to”, “operable to” and the like. Such description or illustration should be understood to encompass components both in an active state and in an inactive or standby state unless required otherwise by context.

It may be apparent that various modifications may be made, and other embodiments may be used without departing from the broader scope of the discussion herein. Therefore, these and other variations upon the example embodiments are intended to be covered by the disclosure herein. 

1. A non-transitory computer-readable medium comprising executable instructions, the executable instructions being executable by one or more processors to perform a method, the method comprising: receiving first power forecasts for a set of look-ahead times for one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in power generated by the variable power generation asset within a short period of time; receiving generated power measurements for the one or more variable power generation assets, the generated power measurements including a reference generated power measurement and one or more generated power measurements prior to the reference generated power measurement; generating ramp predictors for the set of look-ahead times, a ramp predictor including a set of values, a value obtained by subtracting the reference generated power measurement from one of the one or more generated power measurements prior to the reference generated power measurement or by subtracting the reference generated power measurement from a first power forecast for a look-ahead time of the set of look-ahead times; receiving power forecast errors for the one or more variable power generation assets; applying sets of decision trees to the ramp predictors and the power forecast errors to obtain predicted forecast errors; and generating second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors.
 2. The non-transitory computer-readable medium of claim 1 wherein generating second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors includes adding the first power forecasts and the predicted forecast errors to obtain the second power forecasts.
 3. The non-transitory computer-readable medium of claim 1 wherein a set of values for a ramp predictor for a look-ahead time of the set of look-ahead times that is prior to or at a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from the one or more generated power measurements prior to the reference generated power measurement and values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the set of look-ahead times.
 4. The non-transitory computer-readable medium of claim 1 wherein a set of values for a ramp predictor for a look-ahead time of the set of look-ahead times that is after a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the set of look-ahead times.
 5. The non-transitory computer-readable medium of claim 1, the method further comprising: receiving weather forecast data for a geographic area that includes the one or more variable power generation assets; and applying a machine learning forecast model to the generated power measurements and the weather forecast data to obtain a first subset of the first power forecasts for a first subset of the set of look-ahead times that are prior to or at a threshold look-ahead time.
 6. The non-transitory computer-readable medium of claim 5, the method further comprising applying the machine learning forecast model to the weather forecast data to obtain a second subset of the first power forecasts for a second subset of the set of look-ahead times that are after a threshold look-ahead time.
 7. The non-transitory computer-readable medium of claim 1, the method further comprising: receiving weather forecast data for a geographic area that includes the one or more variable power generation assets; and applying at a first time a machine learning forecast model to the generated power measurements and the weather forecast data to obtain the first power forecasts for the set of look-ahead times, wherein the reference generated power measurement is a power measurement for the one or more variable power generation assets measured at a time generally at or just prior to the first time.
 8. The non-transitory computer-readable medium of claim 1 wherein a size of the set of values for the ramp predictor for a particular look-ahead time of the set of look-ahead times is based on the particular look-ahead time.
 9. The non-transitory computer-readable medium of claim 1, the method further comprising: receiving a power forecast data set; generating a ramp predictor data set based on the power forecast data set; generating a forecast error data set based on the power forecast data set; and training the sets of decision trees on the power forecast data set, the ramp predictor data set, and the forecast error data set.
 10. The non-transitory computer-readable medium of claim 1 wherein the second power forecasts have an average normalized mean-absolute error (nMAE) for the set of look-ahead times that is lower than an average nMAE for the set of look-ahead times that the first power forecasts have.
 11. A method comprising: receiving first power forecasts for a set of look-ahead times for one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in power generated by the variable power generation asset within a short period of time; receiving generated power measurements for the one or more variable power generation assets, the generated power measurements including a reference generated power measurement and one or more generated power measurements prior to the reference generated power measurement; generating ramp predictors for the set of look-ahead times, a ramp predictor including a set of values, a value obtained by subtracting the reference generated power measurement from one of the one or more generated power measurements prior to the reference generated power measurement or by subtracting the reference generated power measurement from a first power forecast for a look-ahead time of the set of look-ahead times; receiving power forecast errors for the one or more variable power generation assets; applying sets of decision trees to the ramp predictors and the power forecast errors to obtain predicted forecast errors; and generating second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors.
 12. The method of claim 11 wherein generating second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors includes adding the first power forecasts and the predicted forecast errors to obtain the second power forecasts.
 13. The method of claim 11 wherein a set of values for a ramp predictor for a look-ahead time of the set of look-ahead times that is prior to or at a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from the one or more generated power measurements prior to the reference generated power measurement and values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the set of look-ahead times.
 14. The method of claim 11 wherein a set of values for a ramp predictor for a look-ahead time of the set of look-ahead times that is after a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the set of look-ahead times.
 15. The method of claim 11, further comprising: receiving weather forecast data for a geographic area that includes the one or more variable power generation assets; and applying a machine learning forecast model to the generated power measurements and the weather forecast data to obtain a first subset of the first power forecasts for a first subset of the set of look-ahead times that are prior to or at a threshold look-ahead time.
 16. The method of claim 15, further comprising applying the machine learning forecast model to the weather forecast data to obtain a second subset of the first power forecasts for a second subset of the set of look-ahead times that are after a threshold look-ahead time.
 17. The method of claim 11, further comprising: receiving weather forecast data for a geographic area that includes the one or more variable power generation assets; and applying at a first time a machine learning forecast model to the generated power measurements and the weather forecast data to obtain the first power forecasts for the set of look-ahead times, wherein the reference generated power measurement is a power measurement for the one or more variable power generation assets measured at a time generally at or just prior to the first time.
 18. The method of claim 11 wherein a size of the set of values for the ramp predictor for a particular look-ahead time of the set of look-ahead times is based on the particular look-ahead time.
 19. The method of claim 11, further comprising: receiving a power forecast data set; generating a ramp predictor data set based on the power forecast data set; generating a forecast error data set based on the power forecast data set; and training the sets of decision trees on the power forecast data set, the ramp predictor data set, and the forecast error data set.
 20. A system comprising at least one processor and memory containing instructions, the instructions being executable by the at least one processor to: receive first power forecasts for a set of look-ahead times for one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in power generated by the variable power generation asset within a short period of time; receive generated power measurements for the one or more variable power generation assets, the generated power measurements including a reference generated power measurement and one or more generated power measurements prior to the reference generated power measurement; generate ramp predictors for the set of look-ahead times, a ramp predictor including a set of values, a value obtained by subtracting the reference generated power measurement from one of the one or more generated power measurements prior to the reference generated power measurement or by subtracting the reference generated power measurement from a first power forecast for a look-ahead time of the set of look-ahead times; receive power forecast errors for the one or more variable power generation assets; apply sets of decision trees to the ramp predictors and the power forecast errors to obtain predicted forecast errors; and generate second power forecasts for the set of look-ahead times for the one or more variable power generation assets based on the first power forecasts and the predicted forecast errors.
 21. A non-transitory computer-readable medium comprising executable instructions, the executable instructions being executable by one or more processors to perform a method, the method comprising: receiving first weather forecast data for a geographic area, the geographic area including one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in the power generated by the one or more variable power generation assets within a short period of time; receiving first generated power measurements for the one or more variable power generation assets, the first generated power measurements including a first reference generated power measurement and one or more first generated power measurements prior to the first reference generated power measurement; applying a machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts for a first set of look-ahead times for the one or more variable power generation assets; receiving second weather forecast data for the geographic area; receiving second generated power measurements for the one or more variable power generation assets, the second generated power measurements including a second reference generated power measurement and one or more second generated power measurements prior to the second reference generated power measurement; generating first ramp predictors for a second set of look-ahead times, a first ramp predictor including a set of values, a value obtained by subtracting the second reference generated power measurement from one of the one or more second generated power measurements prior to the second reference generated power measurement or by subtracting the second reference generated power measurement from a first power forecast for a look-ahead time of the first set of look-ahead times; and applying the machine learning forecast model to the second weather forecast data, the second generated power measurements, and the first ramp predictors to obtain second power forecasts for a second set of look-ahead times for the one or more variable power generation assets.
 22. The non-transitory computer-readable medium of claim 21, the method further comprising: receiving third weather forecast data for the geographic area; receiving third generated power measurements for the one or more variable power generation assets, the third generated power measurements including a third reference generated power measurement and one or more third generated power measurements prior to the third reference generated power measurement; generating second ramp predictors for a third set of look-ahead times, a second ramp predictor including a set of values, a value obtained by subtracting the third reference generated power measurement from one of the one or more third generated power measurements prior to the third reference generated power measurement or by subtracting the third reference generated power measurement from a second power forecast for a look-ahead time of the second set of look-ahead times; and applying the machine learning forecast model to the third weather forecast data, the third generated power measurements, and the second ramp predictors to obtain third power forecasts for a third set of look-ahead times for the one or more variable power generation assets.
 23. The non-transitory computer-readable medium of claim 21 wherein a set of values for a first ramp predictor for a look-ahead time of the first set of look-ahead times that is prior to or at a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from the one or more generated power measurements prior to the reference generated power measurement and values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the first set of look-ahead times.
 24. The non-transitory computer-readable medium of claim 21 wherein a set of values for a first ramp predictor for a look-ahead time of the first set of look-ahead times that is after a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the first set of look-ahead times.
 25. The non-transitory computer-readable medium of claim 21 wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts includes applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain a first subset of the first power forecasts for a first subset of the first set of look-ahead times that are prior to or at a threshold look-ahead time.
 26. The non-transitory computer-readable medium of claim 25 wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts includes applying the machine learning forecast model to the first weather forecast data to obtain a second subset of the first power forecasts for a second subset of the first set of look-ahead times that are after a threshold look-ahead time.
 27. The non-transitory computer-readable medium of claim 21 wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain the first power forecasts for the first set of look-ahead times for the one or more variable power generation assets includes applying at a first time the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain the first power forecasts for the first set of look-ahead times for the one or more variable power generation assets, and where the reference generated power measurement is a power measurement for the one or more variable power generation assets measured at a time generally at or just prior to the first time.
 28. The non-transitory computer-readable medium of claim 21 wherein a size of the set of values for the first ramp predictor for a particular look-ahead time of the first set of look-ahead times is based on the particular look-ahead time.
 29. The non-transitory computer-readable medium of claim 21, the method further comprising: receiving a training data set, the training data set including historical data from the one or more variable power generation assets; training a precursor machine learning forecast model on the training data set; receiving a power forecast data set from the precursor machine learning forecast model; generating a ramp predictor data set based on the power forecast data set; and training the machine learning forecast model on the training data set and the ramp predictor data set.
 30. A method comprising: receiving first weather forecast data for a geographic area, the geographic area including one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in the power generated by the one or more variable power generation assets within a short period of time; receiving first generated power measurements for the one or more variable power generation assets, the first generated power measurements including a first reference generated power measurement and one or more first generated power measurements prior to the first reference generated power measurement; applying a machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts for a first set of look-ahead times for the one or more variable power generation assets; receiving second weather forecast data for the geographic area; receiving second generated power measurements for the one or more variable power generation assets, the second generated power measurements including a second reference generated power measurement and one or more second generated power measurements prior to the second reference generated power measurement; generating first ramp predictors for a second set of look-ahead times, a first ramp predictor including a set of values, a value obtained by subtracting the second reference generated power measurement from one of the one or more second generated power measurements prior to the second reference generated power measurement or by subtracting the second reference generated power measurement from a first power forecast for a look-ahead time of the first set of look-ahead times; and applying the machine learning forecast model to the second weather forecast data, the second generated power measurements, and the first ramp predictors to obtain second power forecasts for a second set of look-ahead times for the one or more variable power generation assets.
 31. The method of claim 30, further comprising: receiving third weather forecast data for the geographic area; receiving third generated power measurements for the one or more variable power generation assets, the third generated power measurements including a third reference generated power measurement and one or more third generated power measurements prior to the third reference generated power measurement; generating second ramp predictors for a third set of look-ahead times, a second ramp predictor including a set of values, a value obtained by subtracting the third reference generated power measurement from one of the one or more third generated power measurements prior to the third reference generated power measurement or by subtracting the third reference generated power measurement from a second power forecast for a look-ahead time of the second set of look-ahead times; and applying the machine learning forecast model to the third weather forecast data, the third generated power measurements, and the second ramp predictors to obtain third power forecasts for a third set of look-ahead times for the one or more variable power generation assets.
 32. The method of claim 30 wherein a set of values for a first ramp predictor for a look-ahead time of the first set of look-ahead times that is prior to or at a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from the one or more generated power measurements prior to the reference generated power measurement and values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the first set of look-ahead times.
 33. The method of claim 30 wherein a set of values for a first ramp predictor for a look-ahead time of the first set of look-ahead times that is after a threshold look-ahead time includes values obtained by subtracting the reference generated power measurement from a subset of the first power forecasts for a subset of the first set of look-ahead times.
 34. The method of claim 30 wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts includes applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain a first subset of the first power forecasts for a first subset of the first set of look-ahead times that are prior to or at a threshold look-ahead time.
 35. The method of claim 30 wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts includes applying the machine learning forecast model to the first weather forecast data to obtain a second subset of the first power forecasts for a second subset of the first set of look-ahead times that are after a threshold look-ahead time.
 36. The method of claim 30 wherein applying the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain the first power forecasts for the first set of look-ahead times for the one or more variable power generation assets includes applying at a first time the machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain the first power forecasts for the first set of look-ahead times for the one or more variable power generation assets, and where the reference generated power measurement is a power measurement for the one or more variable power generation assets measured at a time generally at or just prior to the first time.
 37. The method of claim 30 wherein a size of the set of values for the first ramp predictor for a particular look-ahead time of the first set of look-ahead times is based on the particular look-ahead time.
 38. The method of claim 30, further comprising: receiving a training data set, the training data set including historical data from the one or more variable power generation assets; training a precursor machine learning forecast model on the training data set; receiving a power forecast data set from the precursor machine learning forecast model; generating a ramp predictor data set based on the power forecast data set; and training the machine learning forecast model on the training data set and the ramp predictor data set.
 39. A system comprising at least one processor and memory containing instructions, the instructions being executable by the at least one processor to: receive first weather forecast data for a geographic area, the geographic area including one or more variable power generation assets, a variable power generation asset subject to ramp events, a ramp event being a large variation in the power generated by the one or more variable power generation assets within a short period of time; receive first generated power measurements for the one or more variable power generation assets, the first generated power measurements including a first reference generated power measurement and one or more first generated power measurements prior to the first reference generated power measurement; apply a machine learning forecast model to the first weather forecast data and the first generated power measurements to obtain first power forecasts for a first set of look-ahead times for the one or more variable power generation assets; receive second weather forecast data for the geographic area; receive second generated power measurements for the one or more variable power generation assets, the second generated power measurements including a second reference generated power measurement and one or more second generated power measurements prior to the second reference generated power measurement; generate first ramp predictors for a second set of look-ahead times, a first ramp predictor including a set of values, a value obtained by subtracting the second reference generated power measurement from one of the one or more second generated power measurements prior to the second reference generated power measurement or by subtracting the second reference generated power measurement from a first power forecast for a look-ahead time of the first set of look-ahead times; and apply the machine learning forecast model to the second weather forecast data, the second generated power measurements, and the first ramp predictors to obtain second power forecasts for a second set of look-ahead times for the one or more variable power generation assets.
 40. The system of claim 39, the instructions being further executable by the at least one processor to: receive third weather forecast data for the geographic area; receive third generated power measurements for the one or more variable power generation assets, the third generated power measurements including a third reference generated power measurement and one or more third generated power measurements prior to the third reference generated power measurement; generate second ramp predictors for a third set of look-ahead times, a second ramp predictor including a set of values, a value obtained by subtracting the third reference generated power measurement from one of the one or more third generated power measurements prior to the third reference generated power measurement or by subtracting the third reference generated power measurement from a second power forecast for a look-ahead time of the second set of look-ahead times; and apply the machine learning forecast model to the third weather forecast data, the third generated power measurements, and the second ramp predictors to obtain third power forecasts for a third set of look-ahead times for the one or more variable power generation assets. 